<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2021/11/17
 * Time: 10:06
 */

namespace app\admin\middleware;
class Auth{
    /**
     * 设置中间件 所有访问此模块都会先进入此方法
     * @param $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle($request,\Closure $next)
    {
//        dump($request->pathinfo());
        //前置中间件 请求拦截需要在前置中间件执行   preg_match('/login/',$request->pathinfo() 获取到访问的controller
        if(empty(session(config('admin.session_admin'))) && !preg_match('/login/',$request->pathinfo())){
            //此处需要判断是api跳转还是ajks方式跳转 $request->method()
            return redirect((string) url('login/index'));
        }
        $response =  $next($request);
        //后置中间件 获取session是否存在并且访问的控制器不是Longin
//        if(empty(session(config('admin.session_admin'))) && $request->controller() != "Login"){
//            //此处需要判断是api跳转还是ajks方式跳转 $request->method()
//            return redirect((string) url('login/index'));
//        }
        return $response;
    }

}